-- GAME_OPCODE
-- {
	CSMSG_NONE = 0

	CMSG_PING = 1  -- `gate`
	SMSG_PONG = 2

	SMSG_ERROR = 3
	SMSG_KICK = 4

	CMSG_MMORPG_LOGIN = 5  -- `gate`
	SMSG_MMORPG_LOGIN_RESP = 6
	CMSG_MMORPG_LOGOUT = 7  -- `gate`
	SMSG_MMORPG_LOGOUT_RESP = 8  -- `ignore`

	FLAG_MSG_NEED_LOGIN_ACCOUNT_BEGIN = 9

	CMSG_CHARACTER_CREATE = 10  -- `game`
	SMSG_CHARACTER_CREATE_RESP = 11
	CMSG_CHARACTER_DELETE = 12  -- `game`
	SMSG_CHARACTER_DELETE_RESP = 13
	CMSG_CHARACTER_LIST = 14  -- `game`
	SMSG_CHARACTER_LIST_RESP = 15
	CMSG_CHARACTER_LOGIN = 16  -- `game`
	SMSG_CHARACTER_LOGIN_RESP = 17
	CMSG_CHARACTER_LOGOUT = 18  -- `game`
	SMSG_CHARACTER_LOGOUT_RESP = 19

	FLAG_MSG_NEED_LOGIN_CHARACTER_BEGIN = 20

	CMSG_RPC_INVOKE_RESP = 21  -- `ignore`
	SMSG_RPC_INVOKE_RESP = 22  -- `ignore`

	SMSG_PLAYER_ENTER_MAP = 23
	SMSG_PLAYER_LEAVE_MAP = 24
	SMSG_PLAYER_LOAD_MAP = 25
	CMSG_PLAYER_LOAD_MAP_FINISH = 26  -- `game`

	CMSG_MOVE_START = 27
	CMSG_MOVE_STOP = 28
	CMSG_MOVE_SYNC = 29
	CMSG_MOVE_TURN_DIR = 30
	SMSG_OBJECT_RELOCATE = 31

	CMSG_CHAT_MESSAGE = 32  -- `game,player`
	SMSG_CHAT_MESSAGE = 33
	SMSG_SYSTEM_MESSAGE = 34

	CMSG_MAIL = 35
	SMSG_MAIL = 36

	SMSG_CREATE_OBJECT = 37
	SMSG_REMOVE_OBJECT = 38
	SMSG_VALUE32_UPDATE = 39
	SMSG_VALUE64_UPDATE = 40

	CMSG_USE_ITEM = 41
	SMSG_USE_ITEM_RESP = 42
	CMSG_DESTROY_ITEM = 43
	SMSG_DESTROY_ITEM_RESP = 44
	CMSG_ARRANGE_ITEMS = 45
	SMSG_ARRANGE_ITEMS_RESP = 46
	CMSG_SWAP_ITEM = 47
	SMSG_SWAP_ITEM_RESP = 48
	CMSG_SPLIT_ITEM = 49
	SMSG_SPLIT_ITEM_RESP = 50
	CMSG_EQUIP_ITEM = 51
	SMSG_EQUIP_ITEM_RESP = 52
	CMSG_UNEQUIP_ITEM = 53
	SMSG_UNEQUIP_ITEM_RESP = 54
	SMSG_CREATE_ITEM = 55
	SMSG_REMOVE_ITEM = 56
	SMSG_UPDATE_ITEM = 57
	SMSG_SWAP_ITEM = 58
	SMSG_ARRANGE_ITEMS = 59
	SMSG_ADD_ITEM_COUNT = 60
	SMSG_SUB_ITEM_COUNT = 61
	SMSG_GET_ITEM_POPMSG = 62

	CMSG_ENTER_QUEST_GUIDE = 63
	SMSG_ENTER_QUEST_GUIDE_RESP = 64
	CMSG_QUERY_QUEST_GIVER = 65
	SMSG_QUERY_QUEST_GIVER_RESP = 66
	CMSG_ACCEPT_QUEST = 67
	SMSG_ACCEPT_QUEST_RESP = 68
	CMSG_CANCEL_QUEST = 69
	SMSG_CANCEL_QUEST_RESP = 70
	CMSG_SUBMIT_QUEST = 71
	SMSG_SUBMIT_QUEST_RESP = 72
	SMSG_CREATE_QUEST = 73
	SMSG_REMOVE_QUEST = 74
	SMSG_UPDATE_QUEST = 75
	SMSG_SUBMIT_QUEST = 76
	SMSG_QUEST_FINISH = 77
	SMSG_QUEST_FAILED = 78
	SMSG_UPDATE_QUEST_WATCH_STATUS = 79
	CMSG_QUERY_QUEST_NAVIGATION = 80
	SMSG_QUERY_QUEST_NAVIGATION_RESP = 81

	CMSG_OBJECT_INTERACTIVE = 82
	CMSG_PLAYER_REVIVE = 83

	SMSG_CHANGE_TARGET = 84
	SMSG_COMBAT_STATUS = 85
	SMSG_UNIT_DEAD = 86
	SMSG_UNIT_REVIVE = 87

	SMSG_UNIT_STRIKE = 88
	SMSG_UNIT_HURT = 89
	SMSG_UNIT_LOSE_HP = 90
	SMSG_UNIT_TREAT_HP = 91

	CMSG_SPELL_CAST = 92
	SMSG_SPELL_CAST_RESP = 93
	CMSG_SPELL_INTERRUPT = 94
	SMSG_SPELL_INTERRUPT_RESP = 95
	SMSG_SPELL_SYNC_CHANT = 96
	SMSG_SPELL_SYNC_CHANNEL = 97
	SMSG_SPELL_SYNC_CLEANUP = 98
	SMSG_SPELL_SYNC_STOP = 99

	SMSG_SPELL_COOLDOWN = 100
	SMSG_SPELL_REMOVE_COOLDOWN = 101

	SMSG_SPELL_SYNC_BUFF_INFO = 102

	SMSG_LOC_TELEPORT = 103
	SMSG_LOC_TELEPORT_FINISH = 104
	CMSG_LOC_TELEPORT_FINISH = 105

	SMSG_UNIT_START_MOVE = 106
	SMSG_UNIT_SYNC_MOVE = 107
	SMSG_UNIT_STOP_MOVE = 108
	SMSG_UNIT_CHANGE_MOVE = 109
	SMSG_UNIT_START_TURN = 110
	SMSG_UNIT_SYNC_TURN = 111
	SMSG_UNIT_STOP_TURN = 112

	CMSG_TEAM_CREATE = 113  -- `game`
	SMSG_TEAM_CREATE_RESP = 114
	CMSG_TEAM_INVITE = 115  -- `game`
	SMSG_TEAM_INVITE = 116
	CMSG_TEAM_INVITE_RESP = 117  -- `game`
	SMSG_TEAM_INVITE_RESP = 118
	CMSG_TEAM_APPLY = 119  -- `game`
	SMSG_TEAM_APPLY = 120
	CMSG_TEAM_APPLY_RESP = 121  -- `game`
	SMSG_TEAM_APPLY_RESP = 122
	CMSG_TEAM_LEAVE = 123  -- `game`
	SMSG_TEAM_LEAVE_RESP = 124
	CMSG_TEAM_KICK = 125  -- `game`
	SMSG_TEAM_KICK_RESP = 126
	CMSG_TEAM_TRANSFER = 127  -- `game`
	SMSG_TEAM_TRANSFER_RESP = 128
	SMSG_TEAM_INFO = 129
	SMSG_TEAM_SYNC_INFO = 130
	SMSG_TEAM_MEMBER_ADD = 131
	SMSG_TEAM_MEMBER_QUIT = 132
	SMSG_TEAM_MEMBER_ONLINE = 133
	SMSG_TEAM_MEMBER_OFFLINE = 134
	SMSG_TEAM_LEADER_CHANGE = 135
	SMSG_TEAM_DISBAND = 136

	CMSG_GUILD_CREATE = 137  -- `game`
	SMSG_GUILD_CREATE_RESP = 138
	CMSG_GUILD_INVITE = 139  -- `game`
	SMSG_GUILD_INVITE = 140
	CMSG_GUILD_INVITE_RESP = 141  -- `game`
	SMSG_GUILD_INVITE_RESP = 142
	CMSG_GUILD_APPLY = 143  -- `game`
	SMSG_GUILD_APPLY = 144
	CMSG_GUILD_APPLY_RESP = 145  -- `game`
	SMSG_GUILD_APPLY_RESP = 146
	CMSG_GUILD_LEAVE = 147  -- `game`
	SMSG_GUILD_LEAVE_RESP = 148
	CMSG_GUILD_KICK = 149  -- `game`
	SMSG_GUILD_KICK_RESP = 150
	CMSG_GUILD_RISE = 151  -- `game`
	SMSG_GUILD_RISE_RESP = 152
	CMSG_GUILD_DISBAND = 153  -- `game`
	SMSG_GUILD_DISBAND_RESP = 154
	CMSG_GUILD_GET_LIST = 155  -- `guild`
	SMSG_GUILD_GET_LIST_RESP = 156
	CMSG_GUILD_GET_INFO = 157  -- `guild`
	SMSG_GUILD_GET_INFO_RESP = 158
	CMSG_GUILD_GET_MEMBER = 159  -- `guild`
	SMSG_GUILD_GET_MEMBER_RESP = 160
	CMSG_GUILD_GET_APPLY = 161  -- `game`
	SMSG_GUILD_GET_APPLY_RESP = 162

	CMSG_RANK_GET_PLAYER_LIST = 163  -- `rank`
	SMSG_RANK_GET_PLAYER_LIST_RESP = 164
	CMSG_RANK_GET_GUILD_LIST = 165  -- `rank`
	SMSG_RANK_GET_GUILD_LIST_RESP = 166

	CMSG_GET_SHOP_ITEM_LIST = 167  -- `game,player`
	SMSG_GET_SHOP_ITEM_LIST_RESP = 168
	CMSG_BUY_SHOP_ITEM = 169
	SMSG_BUY_SHOP_ITEM_RESP = 170
	CMSG_BUY_SPECIAL_SHOP_ITEM = 171  -- `game`
	SMSG_BUY_SPECIAL_SHOP_ITEM_RESP = 172

	CMSG_OPERATING_GET_TYPE = 173  -- `operating`
	SMSG_OPERATING_GET_TYPE_RESP = 174
	CMSG_OPERATING_GET_LIST = 175
	SMSG_OPERATING_GET_LIST_RESP = 176
	CMSG_OPERATING_GET_DETAIL = 177
	SMSG_OPERATING_GET_DETAIL_RESP = 178
	CMSG_OPERATING_GET_SHORT_HOT = 179
	SMSG_OPERATING_GET_SHORT_HOT_RESP = 180
	CMSG_OPERATING_BUY = 181
	SMSG_OPERATING_BUY_RESP = 182
	CMSG_OPERATING_GET_REWARD = 183
	SMSG_OPERATING_GET_REWARD_RESP = 184
	SMSG_OPERATING_GET_REWARD_RESP_CONTINUE = 185
	SMSG_OPERATING_DETAIL_DIRTY = 186
	SMSG_OPERATING_LIST_DIRTY = 187

	CMSG_START_STORY_MODE = 188
	SMSG_PLAY_TIPS = 189

	SMSG_UPDATE_NAV_PHYSICS_FLAGS = 190

	CMSG_PLAYBOSS_JOIN = 191  -- `game`
	SMSG_PLAYBOSS_RANK = 192

	CSMSG_COUNT = 193
-- }
